home *** CD-ROM | disk | FTP | other *** search
/ Amiga CD-Sensation: Golden Games / Amiga CD-Sensation - Ausgabe 2 - Golden Games (1996)(GTI - Schatztruhe)(DE)[!].iso / Adventurer's / ACS / source / Bob_Konvert < prev    next >
Text File  |  1994-07-06  |  4KB  |  183 lines

  1. ;********************************
  2.  
  3.         include "ram:makros_2"
  4.  
  5. start:
  6.         sys_init            ;Screen oeffnen + Plane Adressen
  7.                         ;sichern
  8. start2:
  9.         get_mem #50000,#$30001
  10.         cmp.l #0,d0
  11.         beq exit_err3
  12.         move.l d0,pic
  13.         add.l #100,d0
  14.         move.l d0,start_pic        ;da fangen die eigentlichen
  15.                         ;Daten an
  16.         get_mem #70000,#Chip_Ram
  17.         cmp.l #0,d0
  18.         beq exit_err0
  19.         move.l d0,bob
  20.         loadb "adv:elemente/mon",pic,#5000    ;welche Grafiken
  21.                             ;sollen konvertiert
  22.                             ;werden ?
  23.         color #0,#0,#0,#0
  24.         set_pal pic
  25.  
  26.         bsr wie_viele
  27.         bsr konvert
  28.         bsr shadow_mask
  29.         bsr save_bob
  30.         bra exit    
  31.  
  32. konvert:
  33.         move.l start_pic,a0
  34.         move.l bob,a1
  35.         move.l long,d2
  36. konvert_loop1
  37.  
  38.         moveq #5,d1            ;6 planes
  39. konvert_loop2:
  40.         move.l #15,d0
  41. konvert_loop3:
  42.         move.w (a0)+,(a1)+
  43.         move.w #0,(a1)+
  44.         dbra d0,konvert_loop3
  45.         dbra d1,konvert_loop2
  46.         move.w #$ffff,(a1)+
  47.         move.w #$ffff,(a1)+
  48.         move.w #$ffff,(a1)+
  49.         move.w #$ffff,(a1)+
  50.         move.w #$ffff,(a1)+
  51.         move.w #$ffff,(a1)+
  52.         move.w #$ffff,(a1)+
  53.         move.w #$ffff,(a1)+
  54.         move.w #$ffff,(a1)+
  55.         move.w #$ffff,(a1)+
  56.         move.w #$ffff,(a1)+
  57.         move.w #$ffff,(a1)+
  58.         move.w #$ffff,(a1)+
  59.         move.w #$ffff,(a1)+
  60.         move.w #$ffff,(a1)+
  61.         move.w #$ffff,(a1)+
  62.         move.w #$ffff,(a1)+
  63.         move.w #$ffff,(a1)+
  64.         move.w #$ffff,(a1)+
  65.         move.w #$ffff,(a1)+
  66.         move.w #$ffff,(a1)+
  67.         move.w #$ffff,(a1)+
  68.         move.w #$ffff,(a1)+
  69.         move.w #$ffff,(a1)+
  70.         move.w #$ffff,(a1)+
  71.         move.w #$ffff,(a1)+
  72.         move.w #$ffff,(a1)+
  73.         move.w #$ffff,(a1)+
  74.         move.w #$ffff,(a1)+
  75.         move.w #$ffff,(a1)+
  76.         move.w #$ffff,(a1)+
  77.         move.w #$ffff,(a1)+
  78.  
  79.         dbra d2,konvert_loop1
  80.         rts
  81. shadow_mask:
  82.         move.l long,d0            ;Anzahl der Bobs 64*6 384
  83.         move.l bob,a1
  84.         move.l a1,a0
  85. shadow_loop0:
  86.         moveq #31,d2
  87. shadow_loop1:
  88.         move.w 0(a0),d1
  89.         or.w 64(a0),d1
  90.         or.w 128(a0),d1
  91.         or.w 192(a0),d1
  92.         or.w 256(a0),d1
  93.         or.w 320(a0),d1
  94.         move.w d1,384(a0)
  95.         add.l #2,a0
  96.         dbra d2,shadow_loop1
  97.         add.l #448,a1
  98.         move.l a1,a0
  99.         dbra d0,shadow_loop0
  100.         rts
  101. wie_viele:
  102.         cls
  103.         print #1,#0,#100,"Wieviele_Bobs_?"
  104.         zinput #1,#17,#100,number,#3
  105.         get_number number
  106.         cmp.l #255,d0
  107.         bgt wie_viele
  108.         move.l d0,long            ;Länge der Bob Daten * 448
  109.         rts
  110.  
  111. save_bob:
  112.         set_block_2 #0,#0,bob,#0
  113.         set_block_2 #0,#20,bob,#1
  114.         set_block_2 #0,#40,bob,#2
  115.         set_block_2 #0,#60,bob,#3
  116.         set_block_2 #0,#80,bob,#4
  117.         set_block_2 #0,#100,bob,#5
  118.         set_block_2 #0,#120,bob,#6
  119.         set_block_2 #0,#140,bob,#7
  120.         set_block_2 #0,#160,bob,#8
  121.         set_block_2 #0,#180,bob,#9
  122.  
  123.         set_block_2 #20,#0,bob,#10
  124.         set_block_2 #20,#20,bob,#11
  125.         set_block_2 #20,#40,bob,#12
  126.         set_block_2 #20,#60,bob,#13
  127.         set_block_2 #20,#80,bob,#14
  128.         set_block_2 #20,#100,bob,#15
  129.         set_block_2 #20,#120,bob,#16
  130.         set_block_2 #20,#140,bob,#17
  131.         set_block_2 #20,#160,bob,#18
  132.         set_block_2 #20,#180,bob,#19
  133.  
  134.         set_block_2 #40,#0,bob,#20
  135.         set_block_2 #40,#20,bob,#21
  136.         set_block_2 #40,#40,bob,#22
  137.         set_block_2 #40,#60,bob,#23
  138.         set_block_2 #40,#80,bob,#24
  139.         set_block_2 #40,#100,bob,#25
  140.         set_block_2 #40,#120,bob,#26
  141.         set_block_2 #40,#140,bob,#27
  142.         set_block_2 #40,#160,bob,#28
  143.         set_block_2 #40,#180,bob,#29
  144.  
  145.         set_block_2 #60,#0,bob,#30
  146.         set_block_2 #60,#20,bob,#31
  147.         set_block_2 #60,#40,bob,#32
  148.         set_block_2 #60,#60,bob,#33
  149.         set_block_2 #60,#80,bob,#34
  150.         set_block_2 #60,#100,bob,#35
  151.         set_block_2 #60,#120,bob,#36
  152.         set_block_2 #60,#140,bob,#37
  153.         set_block_2 #60,#160,bob,#38
  154.         set_block_2 #60,#180,bob,#39
  155.  
  156.         move.l long,d0
  157.         mulu #448,d0
  158.         move.l d0,long
  159.         saveb "adv:bobs/mon.bob",bob,long    ;Name kann man
  160.         rts                    ;ja ändern
  161.  
  162. exit:
  163.         fre_mem #70000,bob
  164.         fre_mem #50000,pic
  165.         sys_exit
  166.         rts
  167. exit_err0:
  168.         fre_mem #50000,pic
  169. exit_err3:
  170.         sys_exit
  171.         move.l #103,d0                ;nix Speicher
  172.         rts
  173.  
  174.  
  175.  
  176. pic:        dc.l 0
  177. start_pic:    dc.l 0
  178. bob:        dc.l 0
  179. long:        dc.l 0
  180. number:        dc.b 0,0,0,0,0,0,0,0
  181.  
  182.         include "ram:befehle"
  183.